import request from './request';

/**
 * 获取面试列表
 * @param {Object} params - 查询参数
 * @param {number} params.page - 页码
 * @param {number} params.pageSize - 每页条数
 * @param {string} params.keyword - 关键词
 * @param {string} params.interviewer - 面试官ID
 * @param {string} params.startTime - 开始时间
 * @param {string} params.endTime - 结束时间
 * @returns {Promise}
 */
export function listInterviews(params) {
  return request({
    url: '/interviews',
    method: 'get',
    params
  });
}

/**
 * 创建面试
 * @param {Object} data - 面试信息
 * @param {number} data.resumeId - 简历ID
 * @param {string} data.interviewTime - 面试时间
 * @param {string} data.location - 面试地点
 * @param {number} data.round - 面试轮次
 * @param {string} data.interviewers - 面试官
 * @returns {Promise}
 */
export function createInterview(data) {
  return request({
    url: '/interviews',
    method: 'post',
    data
  });
}

/**
 * 获取面试详情
 * @param {number} id - 面试ID
 * @returns {Promise}
 */
export function getInterview(id) {
  return request({
    url: `/interviews/${id}`,
    method: 'get'
  });
}

/**
 * 更新面试
 * @param {number} id - 面试ID
 * @param {Object} data - 面试信息
 * @returns {Promise}
 */
export function updateInterview(id, data) {
  return request({
    url: `/interviews/${id}`,
    method: 'put',
    data
  });
}

/**
 * 删除面试
 * @param {number} id - 面试ID
 * @returns {Promise}
 */
export function deleteInterview(id) {
  return request({
    url: `/interviews/${id}`,
    method: 'delete'
  });
}

/**
 * 更新面试状态
 * @param {number} id - 面试ID
 * @param {Object} data - 状态信息
 * @param {number} data.status - 状态：1-待面试，2-已完成，3-已取消
 * @returns {Promise}
 */
export function updateInterviewStatus(id, data) {
  return request({
    url: `/interviews/${id}/status`,
    method: 'put',
    data
  });
}

/**
 * 提交面试结果
 * @param {number} id - 面试ID
 * @param {Object} data - 结果信息
 * @param {number} data.score - 评分
 * @param {string} data.evaluation - 评价
 * @param {number} data.result - 结果：1-通过，2-待定，3-不通过
 * @param {string} data.notes - 备注
 * @returns {Promise}
 */
export function submitInterviewResult(id, data) {
  return request({
    url: `/interviews/${id}/result`,
    method: 'put',
    data
  });
}

/**
 * 提交面试反馈
 * @param {number} id - 面试ID
 * @param {Object} data - 反馈信息
 * @param {string} data.feedback - 反馈内容
 * @returns {Promise}
 */
export function submitInterviewFeedback(id, data) {
  return request({
    url: `/interviews/${id}/feedback`,
    method: 'put',
    data
  });
}